package com.turbo.cloud.ums.web.model.system;


import com.turbo.cloud.core.base.BaseModel;
import com.turbo.cloud.core.validated.InsertValidated;
import com.turbo.cloud.core.validated.UpdateValidated;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;


/**
 * <p>
 * 系统信息表
 * </p>
 *
 * @author zhangluning
 * @since 2022-10-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Accessors(chain = true)
public class UmsSystemQO extends BaseModel {

    /**
     * 主键
     */
    @NotBlank(message = "系统名称不能为空", groups = {UpdateValidated.class})
    private String id;

    /**
     * 系统LOGO链接
     */
    private String logo;

    /**
     * 系统名称
     */
    @NotBlank(message = "系统名称不能为空", groups = {InsertValidated.class, UpdateValidated.class})
    private String systemName;
    private String systemNameByLike;

    /**
     * 系统Code
     */
    @NotBlank(message = "系统编码不能为空", groups = {InsertValidated.class, UpdateValidated.class})
    private String systemCode;
    private String systemCodeByLike;
    /**
     * 系统秘钥
     */
    @NotBlank(message = "系统秘钥不能为空", groups = {InsertValidated.class, UpdateValidated.class})
    private String systemSecretKey;

    /**
     * 系统描述
     */
    @NotBlank(message = "系统描述不能为空", groups = {InsertValidated.class, UpdateValidated.class})
    private String summary;

    /**
     * 系统版权
     */
    @NotBlank(message = "系统版权不能为空", groups = {InsertValidated.class, UpdateValidated.class})
    private String copyright;

    /**
     * 外部链接
     */
    private String externPath;

    /**
     * 备注
     */
    private String note;

    /**
     * 排序
     */
    @NotNull(message = "系统排序不能为空", groups = {InsertValidated.class, UpdateValidated.class})
    @Min(1)
    private Integer sort;
}
